Electronic trading generally occurs across a network of computers, servers, gateways, processors and other related devices. In general, a host exchange (also referred to as an electronic exchange, or simply exchange) generally having one or more centralized computers, forms an electronic heart of an electronic trading system. The centralized computers are configured to receive and process orders for one or more tradable objects generally received from traders and/or users via the electronic trading system, other electronic trading systems and/or other host exchanges.
To process the orders, the host exchange maintains an order book for a tradable object and matches contra orders for the tradable object according to a matching algorithm. The order book records unexecuted, pending, orders for the tradable object. The orders in the order book are collectively referred to as the inside market and market depth for the tradable object.
The host exchange may manage and update a database for data for tradable objects traded, listed, and/or exchanged at the host exchange and/or other host exchanges and may supply or broadcast the data regarding tradable objects via a data feed. The data is generally supplied or broadcast real-time, or substantially real-time, from the host exchange. The information may be supplied in the form of streaming data or other suitable form for supplying data via a data feed. The information generally identifies the order book for a tradable object, and includes information identifying order pricing and information for orders that have been filled (otherwise known as matched or executed).
Users of the electronic trading system (also referred to as traders) connect to the host exchange via a client device to receive information from the host exchange via the data feed. The client device also may receive data from one or more host exchanges via one or more data feeds.
Using the client device, the trader may visualize the information and send orders to the host exchange. Similarly, the client device may automatically, without human intervention, send orders to one or more host exchanges. The orders may be sent to the host exchange based on the data received from the host exchange, based on data received from another host exchange, and/or based on events and/or conditions identified from data or information received from other sources.
The host exchange receives and records the order in a database with like orders. For example, all orders for a tradable object are stored to form a database for the orders for the tradable object. The orders for the tradable object at the host exchange form the order book. The orders are generally arranged according to price and sequence in which the order was received, where orders with the same price that have not been executed, but are pending a match from a contra order are organized together in the sequence that the order was received at the host exchange.
The orders pending a match at the host exchange are generally matched according to the match algorithm for the exchange. Common match algorithms include a first-in, first-out (FIFO), pro-rata, and hybrid FIFO and pro-rata match algorithms. In a FIFO match algorithm, orders at a price level are matched based on the time or sequence that the order was received at the host exchange, where orders are generally filled with priority given to the first order entered at the price, then the second (next) order entered, and so forth. In a pro-rata algorithm at a price level are matched based on the size of the order relative to other orders at the same price. Hybrid systems match orders in a combination of FIFO and pro-rata matching. Other variations of matching algorithms may be used as well.
A trading strategy may be straightforward, such as trading an individual tradable object, or may be complex, such as trading of multiple tradable objects, also referred to as spread trading. In general, spread trading includes simultaneous, or substantially simultaneous, buying and/or selling of one, two, or more tradable objects. The tradable objects of a spread are commonly known as outright markets or legs of the spread.
A purpose of spread trading is to provide for trading of the movement of the market for the tradable object(s). A spread often provides another measure for hedging risk. The spread allows the trader to capitalize on changes or movements in the relationships between the tradable object(s) of the spread.
A spread may be defined by the host exchange (also referred to as exchange-defined spread) or may be a synthetic or user-defined spread. An exchange defined spread is a spread that is listed and priced by a host exchange, where the host exchange matches orders for the spread against contra orders for the spread in an order book for the spread. Synthetic spreads refer to a spread that is defined by the trader. In a synthetic spread, the trader identifies each leg of a spread and administers orders for each leg to carry out a trading strategy for the spread.
A spread may be inter-commodity or intra-commodity. Types of spreads include butterfly spreads, bear spreads, bull spreads, calendar spreads, crack spreads, horizontal spreads, vertical spreads, basis, bundles, packs, strips, straddles, strangles, ratio spreads and combinations thereof. For example, a vertical spread may be a bear spread with a sale of a tradable object such as a strike call, and a purchase of the tradable object. A spread may include multiple types of tradable objects, including, stocks, bonds, equities, commodities, future products, options, currencies, indexes, warrants, funds, repos and the like. For example, a butterfly spread may include future products having three underlying tradable objects. A calendar spread is the simultaneous purchase of a futures product for a tradable object and the sale of a futures product for the tradable object for a different contract month.
A tradable object includes a quantity of an item that can be traded, swapped of otherwise exchanged at a price. Tradable objects include, but are not limited to, all types of traded events, goods, wares and/or financial product such as stocks, bonds, options, futures, commodities, currencies, repos, indexes, warrants, funds, derivatives thereof, collections thereof and combinations thereof. The tradable object may be “real,” such as products that are listed by an exchange for trading. A tradable object may be “synthetic,” such as a combination of real products created by the trader.
The client device may have a trading tool that is configured to automatically facilitate fast and accurate order entry and execute a trading strategy for the trader. The trading tool compiles the information from the host exchange, and facilitates sending orders to one or more host exchanges. For instance, using data from an exchange or some other reference condition, a trading tool calculates one or more order parameters, such as order price and order quantity, and automatically sends order having the parameters to the host exchange. The trading tool may also compile and arrange the information from one or more host exchanges in an intuitive manner to allow the trader to visualize the market and to make a fast and accurate determination for sending an order to the host exchange.
An example of a trading tool is Autospreader® of Trading Technologies International, Inc., Chicago, Ill. The Autospreader assists a trader in executing a spread trading strategy. Legs or outrights of a spread may be chosen, a relationship between legs defined, and a targeted spread price and quantity identified. The Autospreader may place an order for one of the legs based on an inside market for another leg of the spread to achieve (or attempt to achieve) the desired spread price. The Autospreader is also available as an add-on tool available with X_TRADER® Pro™, which is a trading application also available from Trading Technologies International, Inc. An example of an automatic spread trading tool is described in U.S. Pat. No. 7,437,325 titled “System and Method for Performing Automatic Spread Trading,” the contents of which are fully incorporated by reference herein.
The spread trading tool may administer one or more orders for each leg of a spread to assist a trader to obtain a desired target for the spread. In an example, a trader may enter parameters of a spread and select a target price for a spread. An order in one of the legs is entered in one leg of the spread (e.g., a working order) based on at least an inside market for another leg of the spread (e.g. a hedge or offset order). As the inside market changes for the hedge, the working order may be re-priced to achieve the targeted price for the synthetic spread. The working order may be re-priced by submitting a change request to the host exchange for the tradable object where the change request defines a new price for the working order. Additionally or in the alternative, a cancel/replace request could be submitted to the host exchange for the working order.
The working order may be filled in part or in whole according to a volume of a contra order matched against the working order. When the working order is filled completely, an order may be sent at the inside market of the hedge. When the working order is partially filled, an order may be sent at the inside market of the hedge according to the parameters set by the trader and/or the trading strategy of the trader. In addition, all or part of the hedge order also may be sent outside of the inside market for the hedge according to the parameters set by the trader and/or the trading strategy of the trader.
The hedge order, since at the inside market, may be filled immediately, at least in part. That is, if the price level for the inside market for the hedge order is unchanged from when the working order was received, the hedge order may be filled when it is received for the quantity available at the inside market. A portion of the hedge order that exceeds the quantity available at the inside market may not be filled. In addition, if the inside market has moved, the hedge order may not be filled, at least not immediately. The trader may be considered to be legged when at least a portion of the hedge order did not get filled.
Working orders may be placed in one or more legs of a spread. For example, a spread trading tool may place a working order in each leg of the synthetic spread. So that the trader does not get double-filled where each working order is filled and a corresponding hedge order for each filled working order is submitted, the spread trading tool may cancel all or some working orders upon detecting that one of the working orders was filled, at least partially. Accordingly, only the corresponding hedge order may be sent.
The working orders are often reported, tracked, and otherwise recorded according to the outright order itself and not as part of a spread trading strategy. In addition, fills of the working order and the hedge orders are also often tracked and otherwise recorded as a trade for the outright and not as a trade that is part of a spread trading strategy. Orders and synthetic spreads often exist in states that do not have an analog to states used for orders and fills for outright tradable objects. For example, a synthetic spread may have a working order that is not completely filled, such as where a hedge order is not submitted. In addition, a synthetic spread may be considered legged where a hedge order is submitted but not filled, either completely or partially. Because the synthetic spreads are made up of component parts (i.e., working and hedge orders), other trading tools may be used to manipulate the component. In addition, because the synthetic spread is not managed as a whole order, other tools may not be useful to the trader to administer a spread trading strategy.
Accordingly, tools to improve assistance for a trader to employ synthetic spread trading strategies are desirable.